#pragma once
#include<stdio.h>
#include<assert.h>
#include<stdbool.h>
#include<stdlib.h>
typedef int QTypeData;
typedef struct QueueNode
{
	struct QueueNode* next;
	QTypeData data;

}QueueNode;

typedef struct Queue
{
	QueueNode* head;
	QueueNode* tail;
	int size;
}Queue;

void QInit(Queue* pf);
void QDestotry(Queue* pf);
void QueuePush(Queue* pf, QTypeData x);
void QueuePop(Queue* pf);
int Qsize(Queue* pf);
bool QEmpty(Queue* pf);
QTypeData QueueFront(Queue* pf);
QTypeData QueueBack(Queue* pf);